package com.headfirst.BehaviorMode.strategy.version2;

/**
 *
 * 所有鸭子类的超类。
 *
 * 所有具体类型的鸭子都有特定的外观，但是这些具体类型的鸭子的外观是什么样的，在超类中无法得知，需要定义一个抽象的display方法，
 * 由具体的子类去覆盖实现
 *
 * 所有具体类型的鸭子都会游泳，直接由超类中定义swim方法并实现，所有的子类集成Duck就具有了游泳的方法
 * @author sunhongguang
 * @create 2022-01-09-21:44
 */
public abstract class Duck {

    public abstract void display();
    
    public void swim(){
        System.out.println("游泳...");
    }
    
}
